package com.ruoyi.web.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 借阅管理对象 ar_borrow_info
 * 
 * @author ruoyi_hsl
 * @date 2022-04-20
 */
public class ArBorrowInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private String recNo;

    /** 用户编号 */
    private String userNo;

    /** 用户名称 */
    private String userName;

    /** 部门编号 */
    private String deptNo;

    /** 借阅人类型 */
    private String userType;

    /** 外来借阅人名称 */
    private String userForeignName;

    /** 外来借阅人单位 */
    private String userForeignDept;

    /** 外来借阅人证件 */
    private String userCertificate;

    /** 外来借阅人证件编号 */
    private String userCertificateNo;

    /** 借出状态(2 归还 1 借出   0 待借出) */
    private String borrowFlag;

    /** 借阅目的 */
    @Excel(name = "借阅目的")
    private String usePurpose;

    /** 审批状态(0待提交  1:申请中；2：通过；3：拒绝;4退回 ) */
    @Excel(name = "审批状态(0待提交  1:申请中；2：通过；3：拒绝;4退回 )")
    private String approveFlag;

    /** 删除标志(0代表存在 2代表删除) */
    private String delFlag;

    /** 顺序号 */
    @Excel(name = "顺序号")
    private Long orderNo;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date timeBegin;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date timeEnd;

    /** 借阅描述 */
    @Excel(name = "借阅描述")
    private String describe;

    /** 存放借阅详情 */
    private List<ArBorrowDetail> arBorrowDetailList;

    private ArBorrowDetail  arBorrowDetail;

    public ArBorrowDetail getArBorrowDetail() {
        return arBorrowDetail;
    }

    public void setArBorrowDetail(ArBorrowDetail arBorrowDetail) {
        this.arBorrowDetail = arBorrowDetail;
    }

    public List<ArBorrowDetail> getArBorrowDetailList() {
        return arBorrowDetailList;
    }

    public void setArBorrowDetailList(List<ArBorrowDetail> arBorrowDetailList) {
        this.arBorrowDetailList = arBorrowDetailList;
    }

    public Date getTimeBegin() {
        return timeBegin;
    }

    public void setTimeBegin(Date timeBegin) {
        this.timeBegin = timeBegin;
    }

    public Date getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(Date timeEnd) {
        this.timeEnd = timeEnd;
    }

    public void setRecNo(String recNo)
    {
        this.recNo = recNo;
    }

    public String getRecNo() 
    {
        return recNo;
    }
    public void setUserNo(String userNo) 
    {
        this.userNo = userNo;
    }

    public String getUserNo() 
    {
        return userNo;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setDeptNo(String deptNo) 
    {
        this.deptNo = deptNo;
    }

    public String getDeptNo() 
    {
        return deptNo;
    }
    public void setUserType(String userType) 
    {
        this.userType = userType;
    }

    public String getUserType() 
    {
        return userType;
    }
    public void setUserForeignName(String userForeignName) 
    {
        this.userForeignName = userForeignName;
    }

    public String getUserForeignName() 
    {
        return userForeignName;
    }
    public void setUserForeignDept(String userForeignDept) 
    {
        this.userForeignDept = userForeignDept;
    }

    public String getUserForeignDept() 
    {
        return userForeignDept;
    }
    public void setUserCertificate(String userCertificate) 
    {
        this.userCertificate = userCertificate;
    }

    public String getUserCertificate() 
    {
        return userCertificate;
    }
    public void setUserCertificateNo(String userCertificateNo) 
    {
        this.userCertificateNo = userCertificateNo;
    }

    public String getUserCertificateNo() 
    {
        return userCertificateNo;
    }
    public void setBorrowFlag(String borrowFlag) 
    {
        this.borrowFlag = borrowFlag;
    }

    public String getBorrowFlag() 
    {
        return borrowFlag;
    }
    public void setUsePurpose(String usePurpose) 
    {
        this.usePurpose = usePurpose;
    }

    public String getUsePurpose() 
    {
        return usePurpose;
    }
    public void setApproveFlag(String approveFlag) 
    {
        this.approveFlag = approveFlag;
    }

    public String getApproveFlag() 
    {
        return approveFlag;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setOrderNo(Long orderNo) 
    {
        this.orderNo = orderNo;
    }

    public Long getOrderNo() 
    {
        return orderNo;
    }

    public void setDescribe(String describe)
    {
        this.describe = describe;
    }

    public String getDescribe() 
    {
        return describe;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recNo", getRecNo())
            .append("userNo", getUserNo())
            .append("userName", getUserName())
            .append("deptNo", getDeptNo())
            .append("userType", getUserType())
            .append("userForeignName", getUserForeignName())
            .append("userForeignDept", getUserForeignDept())
            .append("userCertificate", getUserCertificate())
            .append("userCertificateNo", getUserCertificateNo())
            .append("borrowFlag", getBorrowFlag())
            .append("usePurpose", getUsePurpose())
            .append("approveFlag", getApproveFlag())
            .append("delFlag", getDelFlag())
            .append("orderNo", getOrderNo())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("beginTime", getBeginTime())
            .append("endTime", getEndTime())
            .append("describe", getDescribe())
            .toString();
    }
}
